home *** CD-ROM | disk | FTP | other *** search
/ Practical Algorithms for Image Analysis / Practical Algorithms for Image Analysis.iso / CH_6.4 / XKNN / XKNN.H < prev    next >
C/C++ Source or Header  |  1999-09-11  |  1KB  |  50 lines

  1. /* 
  2.  * xknn.h
  3.  * 
  4.  * Practical Algorithms for Image Analysis
  5.  * 
  6.  * Copyright (c) 1997, 1998, 1999 MLMSoftwareGroup, LLC
  7.  */
  8.  
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11. #include <math.h>
  12. #include <malloc.h>
  13. #include <search.h>
  14.  
  15. #include "ip.h"
  16.  
  17. /*
  18.  * Structures for KNN points
  19.  */
  20.  
  21. struct KNN {
  22.   int x_pos;                    /* x-coordinate */
  23.   int y_pos;                    /* y-coordinate */
  24.   int distSqd;                  /* distance squared from point */
  25. };
  26.  
  27. struct Point {
  28.   int x_pos;                    /* x-coordinate */
  29.   int y_pos;                    /* y-coordinate */
  30.   struct KNN *Knn;              /* pointer to the KNN for this point */
  31.   int nNN;                      /* number of nearest neighbors found */
  32.  
  33. };
  34.  
  35. /*
  36.  * Function prototypes
  37.  */
  38. extern int main (int, char **);
  39. extern void usage (char *);
  40. struct Point *readPoints (char *, int);
  41. #if defined(LINUX)
  42. extern int sortX (struct Point *p1, struct Point *p2);
  43. extern int sortY (struct Point *p1, struct Point *p2);
  44. #else
  45. extern int sortX (const void *point1, const void *point2);
  46. extern int sortY (const void *point1, const void *point2);
  47. #endif
  48. extern void find_knn (struct Point *, int, int, int);
  49. extern int insertNN (struct Point *, struct Point *, long, int);
  50.